chdkfandomcom-20200222-history
Talk:UBASIC/Scripts: Ultra Intervalometer
One-off error The first script, as posted has a one-off error that causes it to shoot two times when the number of shots is set to one. Below is the fix that seems to correct it. ---- Script Code (save as "ult_intrvl.bas" to your /SCRIPTS/ folder) rem Author - Keoeeit rem Written for S-Series rem Should be okay on others rem Use Endless mode with caution rem See documentation for important info @title Ultra Intervalometer @param a Delay 1st Shot (Mins) @default a 0 @param b Delay 1st Shot (Secs) @default b 0 @param c Number of Shots @default c 5 @param d Interval (Minutes) @default d 0 @param e Interval (Seconds) @default e 0 @param f Interval (10th Seconds) @default f 5 @param g Endless? No=0 Yes=1 @default g 0 p=a*60000+b*1000 t=d*60000+e*1000+f*100 if c<1 then let c=5 if t<100 then let t=100 if g<0 then let g=0 if g>1 then let g=1 if p<0 then let p=0 z=t*c y=p+z print "1 Cycle Time:", y/60000; "min", y%60000/1000; "sec" goto "interval" :interval if p>0 then gosub "pause" for n=2 to c sleep t print "Shot", n, "of", c shoot next n if g=1 then goto "interval" else end :pause n=(a*60)+b for m=1 to n q=n-m print "Intvl Begins:", q/60; "min", q%60; "sec" sleep 930 next m return There were two shoot commands which caused the :interval subroutine to shoot at least two shots, even if one was specified. Removing the extra shoot and print commands seems to have fixed this. This is not working on S5, build # 50. When I press the shutter, it says that the script is started. but after a few seconds, camera is shutting down.!! and my lens is still open, but camera is not operational(its shut down).. So be careful while installing it on S5IS. Doesn't seem to be working with Allbest build 50. When you start the script it does not actually start and eventually shuts the camera off or causes it to reboot. 20080622 same here... S5 1.01b, Allbest b50, depending on the various delays (script, shoot) the camera semi-shuts off. It basically goes black (but doesn't retract the lens) and needs to be switched on again. doesn't work with allbest 51 on A650 IS, same problem as above (camera shuts off a few seconds after script "starting" message appears). Bdcapps 04:29, 9 July 2008 (UTC) This doesn't work on my A710IS either - same crash as above. A bit of debug tracing suggests it's the get_tv call that's crashing - is this a known issue? Cawhitworth 19:18, 9 December 2008 (UTC) I can confirm that I get this with my A710IS too, the first script works fine though. Speculatrix Ixus 60 quirk My Ixus 60 runs the script fine if it needs to use a flash, otherwise it seems to hang. Not sure why but looking into it, It autofocus's and then beeps but just does not take the shot. Happens if it's a shot that needs flash then move to a shop that doesn't (ie inside them point the camera outside) ot if the camera is started outside, in which case it never takes shot. SD450 / IXUS 55 Problem I've used Ultra Intervalometer on my S3 without a problem, however when I used it on my SD450 (IXUS 55), it just shot the first frame and then stopped. I found a solution for that problem. You need to use the "click "shoot_full"" command instead of the "shoot" command. I found the solution posted here by user xnau: http://chdk.setepontos.com/index.php?topic=545.60 New script doesn't do 1st shot? At first I thought I was having issues with the newer script posted above, but it is working fine on my A570 & A720. I thought it was not working because when I started the script, it just sat there and did nothing. I had it set to take pictures every 1 minute for 5 shots. I was going to edit this page saying it was not working and just sitting there...but after 1 minute it took it's 1st shot! So I let the script run it course, and after 5 minutes it was finished .. but it only took 4 shots, and the display said it was finished with shot 5 of 5. *** STARTED *** 1 Cycle Time: 5min 0sec Shot 2 of 5 Shot 3 of 5 Shot 4 of 5 Shot 5 of 5 ***FINISHED *** Doesn't seem to work on SD950 Script seems to startup, then camera shuts down after around 10 seconds. A little print debugging suggests that it's the get_tv that crashes. I guess this is probably because my camera doesn't have a true aperture - just the ND filter. This is probably the same issue for the chap above. Using the first script (not the second one) seems to work fine. --Andybryant 17:06, 25 December 2008 (UTC) Endless Not Working? Hi, This is my first attempt at running CHDK so bear with me... I'm trying to just take unlimited time lapse pictures and I followed your "hint" but the hint doesn't seem to work- it just takes one picture and then stops? I'm wondering if I should have some of the other parameters set but that doesn't seem to make any difference. Could you post the full param list for the "hint"please? Thanks.. --OldGrey 22:57, 1 February 2009 (UTC) Same endless trouble I have the same problem, and it's also described in the forum here, with a suggestion as the culprit and a workaround. However, since the author of the script seems confident that setting "Number of Shots" to 1 and "Delay 1st Shot" to the desired delay between shots should work, that I wonder if something has changed in the script? Seems weird . . . I'm also having the same endless issue When I tried to get the endless sequences to work I ran into another script called Yet another accurate intervalometer. To have it take 1 image every 5 seconds until I press the shutter button I use the following settings * Duration (min)/-1 disable -1 * Duration (sec)/n of seqs -1 * Delay 1st sequence (min) 0 * Delay 1st sequence (sec) 0 * Trigger every n min 0 * ...every n sec 5 * ...every .n sec 0 * Endless? 1 * Seq dur (m)/-1 -1 * Seq dur (s)/n of shots/seq -1 Just increase ...every n sec from 5 to 30 to have one image every 30 seconds. Might help someone! Endless not working Endless doesn't work with c=1 because of this line: if c=1 then end The following code fixes the problem, and is a smaller file: rem Authors - Keoeeit, DanielF rem Written for S-Series rem Should be okay on others (runs fine on A470) rem Use Endless mode with caution rem See documentation for important info rem Fourth version (DF) @title UltraIntervalometer4 @param a Delay 1st Shot (Mins) @default a 0 @param b Delay 1st Shot (Secs) @default b 0 @param c Number of Shots @default c 5 @param d Interval (Minutes) @default d 0 @param e Interval (Seconds) @default e 0 @param f Interval (10th Seconds) @default f 5 @param g Endless? No=0 Yes=1 @default g 0 p=a*60000+b*1000 t=d*60000+e*1000+f*100 if c<1 then let c=5 if t<100 then let t=100 if g<0 then let g=0 if p<0 then let p=0 if p=0 then goto "interval" n=(a*60)+b for m=1 to n q=n-m print "Seq Begins:", q/60, "min", q%60, "sec" sleep 930 next m :interval if g>0 then let c=999999 for n=1 to c print "Shot", n, "of", c shoot if n And here's the text to go with it: This interval shooting script allows you to set a delay until the first shot in your intervalometer sequence as well as allowing the sequence to repeat almost endlessly. Use the 'Endless' repeat with caution! If that flag is set it repeats effectively non-stop until you interrupt it by pressing the shutter-button (or exit the mode with other button presses). Word of Warning: If you are running from an AC power-supply and going to set the endless-repeat flag, do so at your own risk. Some Canon manuals warn against allowing their cameras to run for many hours or days at a time (the A470 doesn't quote this restriction). Having said that, the shutter mechanism on SLR cameras is typically reported as lasting at least 100,000 images. In field tests, people have run a Canon A-series camera for more than 4 months taking 2 pictures a minute without any apparent harm to the camera (more than 300,000 images). Note: if you select the 'Endless' option (=1), the script won't actually run endlessly. It would stop after 999,999 shots (the largest integer uBasic will accept!), but I figure you'll probably run out of SD card space before that! You can also set a 'Delay 1st Shot' if you want a delay before the first shot of an 'endless' sequence. This intervalometer script uses the 'shoot' command (as opposed to the 'click "shoot_full"' command) and thus the camera sets focus and exposure before each shot (but in some cameras Manual mode will prevent this). Unlike the camera's own built-in intervalometer, where exposure and focus is set for just the first shot. This allows it to compensate for all the varying conditions that can take place over the course of many minutes and hours, far surpassing Canon's concept of a useful intervalometer. Note 1: The count-down timer for the "Delay to 1st Shot" phase won't display beyond the time you have set for your Power-Saving/Display-Off settings. On the S3IS this is a maximum count-down display of 3 minutes. The script will continue running however; you just won't have a running tally of how long until the next intervalometer sequence or shot. Note 2: The 'total time shown for each cycle' display (present in the original version) has been removed, as it was too inaccurate (a mental calculation will be just as useful). You could, of course, reinstate that code segment if you found it useful. Keoeeit, edited by DanielF, 15 June 2009 --DanielF 13:26, 15 June 2009 (UTC) Timing Drift I noticed that the ult_intrvl.bas script as posted makes no allowance for the exposure time. Keoeeit's version does make this allowance, but there are conditions on it working. Below is my version of the intervalometer script which (I believe) makes this allowance automatically on all cameras. It uses the get_tick_count function, which might not be available in all builds though. I have removed the initial delay, but that could esily be worked back in, and there is less output to the console than on the original verison, mainly to reduce the number of lines to be parsed to keep things fast and accurate. The timing is done relative to the first shot for all subsequent shots, so even if one is a little late (like a long exposure because it is unexpectedly dark) then the following ones should get back on schedule. Script Code @title Low Drift Intervalometer @param a Number of Shots (0 for cont) @default a 5 @param b Interval (Minutes) @default b 0 @param c Interval (Seconds) @default c 2 @param d Interval (10th Seconds) @default d 0 t=b*60000+c*1000+d*100 if a<0 then a=5 if t<10 then t=10 i=0 j=get_tick_count do shoot i=i+1 while (get_tick_count-j-(i*t))<0 sleep (t/100) wend until i=a print "Finished", i, "shots" end